The use of a hand operated pointing device to indicate positions on a visual display is well known. A popular device is a computer mouse. In a typical mouse, motion of the mouse is sensed and translated into motion of a cursor or other indicator displayed on a visual display. A computer mouse may operate, for example, by measuring rotations of a ball as it moves across the surface of a mouse pad or rotated by the user. Alternatively, it may operate by measuring accelerations of the mouse using inertial sensors, or by estimating motion by detecting changes in successive images of the surface over which the mouse moves. A pointing device that uses the last approach is called an optical mouse or a ‘seeing-eye’ mouse.
In one approach, an optical mouse forms images of the micro-textured or micro-detailed work surface below the mouse using an array of optical sensors. The outputs from the array of optical sensors are digitized and stored as a frame in memory. Successive frames are compared to estimate the motion that has occurred between frames. The motion information is then communicated to the controller of the visual display.
An optical mouse has advantages over a mechanical mouse, since it has no moving parts to malfunction through wear or the build-up of debris. However, it is occasionally necessary to reposition a mouse on the work surface without changing the indicated position on the visual display. This poses problems for an optical mouse, since the repositioning motion will result in unwanted movement of the cursor on the visual display unless an additional sensor or a user-operated switch is incorporated to indicate when the mouse is lifted from the work surface.
A further problem arises if the work surface has a transparent covering, such as sheet of glass. The transparent covering alters the distance between the reflecting surface and the array of optical sensors, causing the image of the surface to be out of focus.